package com.ungs.form;

import java.util.List;

import com.ungs.dao.VarianteDAO;
import com.ungs.dao.impl.VarianteDAOImpl;
import com.ungs.entities.Variante;
import com.ungs.readXML.ReadXMLFile;
import com.ungs.utils.CompletarBD;
import com.ungs.utils.Constantes;

public class Inicio {

	/**
	 * @param args
	 */
	public static void main(String args[]) {
		ReadXMLFile xmlFile = new ReadXMLFile();
		if (xmlFile.firstRun()) {
			// Si es la primera vez que se abre la aplicacion
			HibernateConfig config = new HibernateConfig();
			config.setVisible(true);
		} else {
			// Si NO es la primera vez que se abre la aplicacion
			if (xmlFile.modificado()) {
				// Si los parametros de la base fueron modificados
				String host = xmlFile.getHost();
				String esquema = xmlFile.getEsquema();
				String user = xmlFile.getUser();
				String pass = xmlFile.getPass();
				xmlFile.createHibernateCFG(host, esquema, user, pass,
						Constantes.UPDATE);
				if (checkEmpty()) {
					CompletarBD.guardar();
				}
			}
		
			PrincipalForm principalForm = new PrincipalForm();
			principalForm.setVisible(true);
		}

	}

	private static boolean checkEmpty() {
		VarianteDAO dao = new VarianteDAOImpl();
		@SuppressWarnings("unchecked")
		List<Variante> lista = dao.getAll(Variante.class);
		if (lista != null && !lista.isEmpty()) {
			return false;
		} else {
			return true;
		}
	}

}
